﻿namespace Digitalmes.Core.Domain.Repositories;

/// <summary>
/// 工作单元管理者。
/// </summary>
public interface IUnitOfWorkManage : IDisposable
{
    /// <summary>
    /// 创建工作单元。
    /// </summary>
    /// <returns></returns>
    IUnitOfWork CreateUow();

    /// <summary>
    /// 从当前事务中获取仓储。
    /// 注意：在获取仓储前，必须先创建工作单元。
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <returns></returns>
    IRepository<T> GetRepository<T>() where T : class, IEntity, new();
}
